package com.ruicar.afs.cloud.channel.witness.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruicar.afs.cloud.channel.witness.entity.ChannelWitnessInfoTemp;

import java.util.List;

/**
 * @Method $method$
 * @Author Ice
 * @Return $return$
 * @Exception $exception$
 * @Date $date$ $time$
 */
public interface ChannelWitnessInfoTempService extends IService<ChannelWitnessInfoTemp> {

    IPage<List<ChannelWitnessInfoTemp>> getWitnessList(Page page, ChannelWitnessInfoTemp wirness, List<Long> ids);

    IPage<List<ChannelWitnessInfoTemp>> getChannelWitnessListData(Page page, ChannelWitnessInfoTemp wirness);

    IPage<List<ChannelWitnessInfoTemp>> getWitnessUseChannel(Page page, ChannelWitnessInfoTemp wirness);

    IPage<List<ChannelWitnessInfoTemp>> getRegister(Page page, ChannelWitnessInfoTemp wirness, List<String> roles, String key);
    //  说明非直营我全都有  并且没有直营属性  10
    IPage<List<ChannelWitnessInfoTemp>> getWitnessOnlyOtherAll(Page page, ChannelWitnessInfoTemp wirness, List<Long> ids);

    //  说明非直营的我全都有  直营的只有单一属性
    IPage<List<ChannelWitnessInfoTemp>> getWitnessOtherAllOwnOnly(Page page, ChannelWitnessInfoTemp wirness, List<Long> ids,String type);

    //  说明只有非直营 并且属性单一
    IPage<List<ChannelWitnessInfoTemp>> getWitnessOtherOnly(Page page, ChannelWitnessInfoTemp wirness, List<Long> ids,String type);

    // 说明我 非直营单一属性   直营属性也是单一
    IPage<List<ChannelWitnessInfoTemp>> getWitnessOtherOnlyOwnOnly(Page page, ChannelWitnessInfoTemp wirness, List<Long> ids,String typeOther,String typeOwn );

    //  说明我非直营 单一属性  我直营全部
    IPage<List<ChannelWitnessInfoTemp>> getWitnessOtherOnlyOwnAll(Page page, ChannelWitnessInfoTemp wirness, List<Long> ids,String typeOther);

    //  说明我非值 没有   直营全有
    IPage<List<ChannelWitnessInfoTemp>> getWitnessOwnAll(Page page, ChannelWitnessInfoTemp wirness, List<Long> ids);

    //  说明我非直  没有   直营单一属性
    IPage<List<ChannelWitnessInfoTemp>> getWitnessOwnOnly(Page page, ChannelWitnessInfoTemp wirness, List<Long> ids ,String typeOwn);
}
